package VN.EDU.IMIC.PROJECTLEADER.NGUYENVANDOAN.SWINGDEMO;


import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;

import com.sqlserver.imic.edu.vn.ConnectionManager.SqlConnection;

import VN.EDU.IMIC.PROJECTLEADER.NGUYENVANDOAN.SWINGDEMO.Controllers.LoginControllers;
import VN.EDU.IMIC.PROJECTLEADER.NGUYENVANDOAN.SWINGDEMO.Entity.UserEntity;



import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.Connection;

public class frmDemo extends JFrame {

    private final JPanel contentPane;
    private final JTextField txtTenTruyCap;
    private final JPasswordField txtMatKhau;

    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                try {
                    frmDemo frame = new frmDemo();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame.
     */
    public frmDemo() {
        setResizable(false);
        setTitle("ĐĂNG NHẬP CHƯƠNG TRÌNH");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 207);
        contentPane = new JPanel();
        contentPane.setBorder(new TitledBorder(null, "\u0110\u0103ng Nh\u1EADp", TitledBorder.LEADING,
                TitledBorder.TOP, null, Color.RED));
        setContentPane(contentPane);
        contentPane.setLayout(null);

        JLabel lblNewLabel = new JLabel("Vui lòng nhập thông tin đăng nhập:\r\n");
        lblNewLabel.setFont(new Font("Cambria", Font.PLAIN, 14));
        lblNewLabel.setBounds(10, 25, 363, 14);
        contentPane.add(lblNewLabel);

        txtTenTruyCap = new JTextField();
        txtTenTruyCap.setBackground(UIManager.getColor("FormattedTextField.selectionBackground"));
        txtTenTruyCap.setFont(new Font("Cambria", Font.PLAIN, 14));
        txtTenTruyCap.setBounds(104, 61, 320, 23);
        contentPane.add(txtTenTruyCap);
        txtTenTruyCap.setColumns(10);

        JButton btnThoat = new JButton("Thoát");
        btnThoat.setIcon(new ImageIcon(frmDemo.class
                .getResource("/VN/EDU/IMIC/PROJECTLEADER/NGUYENVANDOAN/SWINGDEMO/ICONS/delete.gif")));
        btnThoat.setForeground(new Color(255, 255, 224));
        btnThoat.setBackground(new Color(50, 205, 50));
        btnThoat.setFont(new Font("Cambria", Font.PLAIN, 14));
        btnThoat.setBounds(335, 129, 89, 27);
        contentPane.add(btnThoat);

        txtMatKhau = new JPasswordField();
        txtMatKhau.setBackground(new Color(210, 105, 30));
        txtMatKhau.setFont(new Font("Cambria", Font.PLAIN, 14));
        txtMatKhau.setBounds(104, 95, 320, 23);
        contentPane.add(txtMatKhau);

        JLabel lblTnTruyCp = new JLabel("Tên truy cập:");
        lblTnTruyCp.setFont(new Font("Cambria", Font.PLAIN, 14));
        lblTnTruyCp.setBounds(10, 67, 87, 14);
        contentPane.add(lblTnTruyCp);

        JLabel lblMtKhu = new JLabel("Mật khẩu:");
        lblMtKhu.setFont(new Font("Cambria", Font.PLAIN, 14));
        lblMtKhu.setBounds(10, 100, 87, 14);
        contentPane.add(lblMtKhu);

        JButton btnDangNhap = new JButton("Đăng Nhập");
        btnDangNhap.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                //1. Khai báo & thực thi mở kết nối            
                Connection objConnection;

                // 2. Khai báo & khởi tạo đối tượng SQLConnections
                SqlConnection obj = new SqlConnection();

                // 4. Thực thi mở kết nối & nhận về 1 đối tượng chứa thông tin kết nối

                try {
                	objConnection = obj.OpenConnection("DESKTOP-F43Q9GJ", "sa",
							"12345", "QLSV", 1433);
                    // 5. Kiểm tra trạng thái kết nối tới CSDL
                    if (!objConnection.isClosed()) {
                        //6. Khai báo & khởi tạo đối tượng của Controllers
                        LoginControllers objController = 
                                new  LoginControllers(objConnection);
                        UserEntity objUser = new UserEntity();
                        objUser.setUserName(txtTenTruyCap.getText());
                        objUser.setPassWord(txtMatKhau.getText());
                        
                        //7. Ủy quyền thực thi nghiệp vụ kiểm tra
                        if(objController.CheckUserInfo(objUser)){
                            JOptionPane.showMessageDialog(getParent(),
                                            "Đăng nhập thành công");
                        }
                        else{
                            JOptionPane.showMessageDialog(getParent(),
                                    "Đăng nhập thất bại");
                        }
                    }
                }catch(Exception ex){
                    
                }
            }
        });
        btnDangNhap.setIcon(new ImageIcon(frmDemo.class
                .getResource("/VN/EDU/IMIC/PROJECTLEADER/NGUYENVANDOAN/SWINGDEMO/ICONS/book_edit.png")));
        btnDangNhap.setForeground(new Color(255, 255, 224));
        btnDangNhap.setBackground(new Color(75, 0, 130));
        btnDangNhap.setFont(new Font("Cambria", Font.PLAIN, 14));
        btnDangNhap.setBounds(199, 129, 133, 27);
        contentPane.add(btnDangNhap);
    }
}
